import { IPSEAIElementAttr } from './ipseaielement-attr';
import { IPSSysEAIDataType } from './ipssys-eaidata-type';
import { IPSSysEAIElement } from './ipssys-eaielement';

/**
 *
 * @export
 * @interface IPSSysEAIElementAttr
 */
export interface IPSSysEAIElementAttr extends IPSEAIElementAttr {
  /**
   * 集成数据类型
   *
   * @type {IPSSysEAIDataType}
   */
  getPSSysEAIDataType(): IPSSysEAIDataType | null;

  /**
   * 集成数据类型
   *
   * @type {IPSSysEAIDataType}
   */
  get psSysEAIDataType(): IPSSysEAIDataType | null;

  /**
   * 集成数据类型（必须存在）
   *
   * @type {IPSSysEAIDataType}
   */
  getPSSysEAIDataTypeMust(): IPSSysEAIDataType;

  /**
   * 引用属性组
   *
   * @type {IPSSysEAIElement}
   */
  getRefPSSysEAIElement(): IPSSysEAIElement | null;

  /**
   * 引用属性组
   *
   * @type {IPSSysEAIElement}
   */
  get refPSSysEAIElement(): IPSSysEAIElement | null;

  /**
   * 引用属性组（必须存在）
   *
   * @type {IPSSysEAIElement}
   */
  getRefPSSysEAIElementMust(): IPSSysEAIElement;
}
